package com.trinity.campus.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.trinity.common.annotation.Excel;
import com.trinity.common.constant.DeptConstants;
import com.trinity.common.core.domain.BaseEntity;
import com.trinity.common.core.domain.entity.SysDept;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 学生对象 campus_students
 *
 * @author trinity
 * @date 2023-11-18
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString
@TableName(value = "campus_students")
public class CampusStudents extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 系统学号
     */
//    @Excel(name = "系统学号")
    @TableField(value = "student_id")
    private Long studentId;

    /**
     * 身份证号码
     */
    @TableField(value = "idcardno")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private String idCardNo;
    /**
     * 姓名
     */
    @Excel(name = "姓名")
    @TableField(value = "student_name")
    private String studentName;

    /**
     * 机构Id
     */
//    @Excel(name = "班级id")
    @TableField(value = "dept_id")
    private String deptId;


    /**
     * 手机号码
     */
//    @Excel(name = "手机号码")
    @TableField(value = "phonenumber")
    private String phonenumber;

    /**
     * 学号
     */
    @Excel(name = "学号")
    @TableField(value = "stu_no")
    private String stuNo;

    /**
     * 用户性别（0男 1女 2未知）
     */
//    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    @TableField(value = "sex")
    private String sex;

    /**
     * 帐号状态（0正常 1停用）
     */
//    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
    @TableField(value = "status")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableField(value = "del_flag")
    private String delFlag;

    /**
     * 年级
     */
    @Excel(name = "年级")
    @TableField(value = "grade")
    private String grade;

    /**
     * 学校
     */
    @Excel(name = "学校",prompt="请选择列表中的一个值",comboType = DeptConstants.DEPT_TYPE_SCHOOL)
    @TableField(value = "school")
    private String schoolName;

    /**
     * 学院
     */
    @Excel(name = "学院",prompt="请选择列表中的一个值",comboType = DeptConstants.DEPT_TYPE_COLLEGE)
    @TableField(value = "college")
    private String college;

    /**
     * 专业
     */
    @Excel(name = "专业",prompt="请选择列表中的一个值",comboType = DeptConstants.DEPT_TYPE_MAJOR)
    @TableField(value = "major")
    private String major;

    /**
     * 班级
     */
    @Excel(name = "班级",prompt="请选择列表中的一个值",comboType = DeptConstants.DEPT_TYPE_CLASS)
    @TableField(value = "clazz")
    private String clazz;

    /**
     * 学校 id
     */
    @TableField(value = "school_id")
    private String schoolId;

    /**
     * 学院 id
     */
    @TableField(value = "college_id")
    private String collegeId;

    /**
     * 专业 id
     */
    @TableField(value = "major_id")
    private String majorId;

    /**
     * 班级 id
     */
    @TableField(value = "clazz_id")
    private String clazzId;

    @TableField(exist = false)
    private SysDept school;

}
